package com.rc.evcharger.vo.cost;

import com.rc.evcharger.common.constant.level.UserLevelConstant;
import com.rc.evcharger.model.market.MarketActivity;
import com.rc.evcharger.model.market.MarketActivityMember;
import com.rc.evcharger.model.order.OrderDiscountRecord;
import com.rc.evcharger.model.ticket.MemberTicket;

import java.math.BigDecimal;
import java.util.List;

/**
 * Create by Yang on 2019/8/28
 */
public class UserLevelPriceResult {

    private String tenantCode;  //活动对应的运营商ID

    private Integer type;  //详情见UserLevelConstant类

    private BigDecimal discountPrice;   //优惠的折扣

    private BigDecimal discountAmount; //优惠金额

    private BigDecimal elecPrice;   //电费

    private BigDecimal servicePrice;//服务费

    private String discountType; //折扣类型 1:服务费折扣，2：总价折扣

    private Long id;    //活动ID

    private BigDecimal appointElecAmount;

    private BigDecimal appoingServiceAmount;

    private List<OrderDiscountRecord> orderDiscountRecords;  //优惠类型

    private List<MemberTicket> memberTickets; //优惠券记录

    private List<MarketActivity> marketActivities; //活动进行最大次数

    private List<MarketActivityMember> marketActivityMembers; //活动参与用户记录


    public UserLevelPriceResult() {
    }

    public String getTenantCode() {
        return tenantCode;
    }

    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    public UserLevelPriceResult(Integer type) {
        this.type = type;
    }

    public static UserLevelPriceResult emptyResult() {
        UserLevelPriceResult userLevelPriceResult = new UserLevelPriceResult(UserLevelConstant.INVALID_DISCOUNT);
        return userLevelPriceResult;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public BigDecimal getDiscountPrice() {
        return discountPrice;
    }

    public BigDecimal getDiscountAmount() {
        return discountAmount;
    }

    public void setDiscountAmount(BigDecimal discountAmount) {
        this.discountAmount = discountAmount;
    }

    public void setDiscountPrice(BigDecimal discountPrice) {
        this.discountPrice = discountPrice;
    }

    public String getDiscountType() {
        return discountType;
    }

    public void setDiscountType(String discountType) {
        this.discountType = discountType;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public BigDecimal getElecPrice() {
        return elecPrice;
    }

    public void setElecPrice(BigDecimal elecPrice) {
        this.elecPrice = elecPrice;
    }

    public BigDecimal getServicePrice() {
        return servicePrice;
    }

    public void setServicePrice(BigDecimal servicePrice) {
        this.servicePrice = servicePrice;
    }

    public BigDecimal getAppointElecAmount() {
        return appointElecAmount;
    }

    public void setAppointElecAmount(BigDecimal appointElecAmount) {
        this.appointElecAmount = appointElecAmount;
    }

    public BigDecimal getAppoingServiceAmount() {
        return appoingServiceAmount;
    }

    public void setAppoingServiceAmount(BigDecimal appoingServiceAmount) {
        this.appoingServiceAmount = appoingServiceAmount;
    }

    public List<OrderDiscountRecord> getOrderDiscountRecords() {
        return orderDiscountRecords;
    }

    public void setOrderDiscountRecords(List<OrderDiscountRecord> orderDiscountRecords) {
        this.orderDiscountRecords = orderDiscountRecords;
    }

    public List<MemberTicket> getMemberTickets() {
        return memberTickets;
    }

    public void setMemberTickets(List<MemberTicket> memberTickets) {
        this.memberTickets = memberTickets;
    }

    public List<MarketActivity> getMarketActivities() {
        return marketActivities;
    }

    public void setMarketActivities(List<MarketActivity> marketActivities) {
        this.marketActivities = marketActivities;
    }

    public List<MarketActivityMember> getMarketActivityMembers() {
        return marketActivityMembers;
    }

    public void setMarketActivityMembers(List<MarketActivityMember> marketActivityMembers) {
        this.marketActivityMembers = marketActivityMembers;
    }
}
